package com.zbkj.crmeb.agent.service;

import com.crmeb.core.common.CommonResult;
import com.zbkj.crmeb.agent.model.AgentAccount;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zbkj.crmeb.agent.request.AgentAccountCenterRequest;
import com.zbkj.crmeb.chant.response.AccountCenterResponse;
import com.zbkj.crmeb.chant.response.AccountCenterResponse.Bill;
import com.zbkj.crmeb.finance.controller.WithdrawalAuditRequest;
import com.zbkj.crmeb.finance.response.UserRechargeResponse;

import java.math.BigDecimal;
import java.util.List;

/**
 * <p>
 * 服务商资金账户表 服务类
 * </p>
 *
 * @author wuzp
 * @since 2022-02-15
 */
public interface AgentAccountService extends IService<AgentAccount> {

    Integer calcMoney(AgentAccount agentAccount);

    boolean offlineWithdrawApply(Integer agentId, BigDecimal price, String clientIp);

    AccountCenterResponse agentAccountCenter(AgentAccountCenterRequest request);

    boolean accountFrozen(Integer id, Integer status);

    CommonResult<Object> offlineWithdrawAudit(WithdrawalAuditRequest req, String clientIp);

    Object accountInfo(Integer id);

    UserRechargeResponse getRechargeInfo(Integer id);

    List<Bill> getFlowList(Integer merId, Integer type);

    Object agentAccountInfo(Integer id);
}
